cmake_minimum_required(VERSION 3.23)
project(CppTest-concurrency)

#https://learn.microsoft.com/en-us/cpp/build/reference/utf-8-set-source-and-executable-character-sets-to-utf-8?view=msvc-170

set(CMAKE_CXX_STANDARD 23)
set(CMAKE_CXX_STANDARD_REQUIRED ON)
set(CMAKE_CXX_EXTENSIONS OFF)
set(CMAKE_C_STANDARD 17)
set(CMAKE_C_STANDARD_REQUIRED ON)
set(CMAKE_C_EXTENSIONS OFF)

add_compile_options("$<$<CXX_COMPILER_ID:MSVC>:/utf-8>")

add_executable(latch latch.cpp)
add_executable(barrier barrier.cpp)
add_executable(atomic atomic.cpp)
add_executable(future future.cpp)
add_executable(spin_lock spin_lock.cpp)
add_executable(print_0_1 print_0_1.cpp)
